Desarrollo de software profesional
El software profesional se hace para ser usado por alguien que no es el desarrollador y normalmente se hace en equipos. Es mantenido y cambiado durante su vida. A este tipo de software se orienta la ingeniería de software, pues las técnicas que usa son irrelevantes para el software personal. El software incluye no sólo un programa, sino también documentación, librerías y otras cosas.
La computación, a diferencia de la ingeniería de software, se enfoca en la parte teórica, y ésta última es parte de la ingeniería de sistemas.
El 40% del costo del software es testing.
En los productos genéricos, la especificación la controla la compañía, mientras que en los personalizados la controla el cliente, y se debe trabajar con ella.
En la actualidad, cada vez se mezclan más estas especificaciones, partiendo de un software genérico y adaptándolo.
La calidad de software incluye el comportamiento, estructura y organización de los componentes.
Es una disciplina de la ingeniería que se ocupa de todos los aspectos de la producción de software desde las primeras etapas de la especificación del sistema hasta el mantenimiento del sistema una vez que se ha puesto en uso.
Es una disciplina de ingeniería. Los ingenieros trabajan con restricciones, y no siempre existe un método que puedan aplicar para resolver un problema. Tienen que dar un resultado de la calidad requerida en tiempo y bajo el presupuesto, así que no pueden hacer todo perfectamente.
No es lo mismo la ing. de sistemas: la ingeniería de sistemas involucra varias cosas como hardware y proceso de diseño, además del software.
La ing. de sw. es un enfoque sistemático para la producción de software que tiene en cuenta los costos prácticos, el cronograma y los problemas de confiabilidad, así como las necesidades de los clientes y productos de software.
Uno de los factores más importantes es el tipo de aplicación. Aunque los limites de los tipos son borrosos, ayuda a determinar las técnicas y métodos a utilizar.
Principios fundamentales:
La ingeniería de software implica responsabilidades más amplias que simplemente la aplicación de habilidades técnicas.
Los ingenieros de software deben comportarse de una manera honesta y éticamente responsable si deben ser respetados como profesionales.
El comportamiento ético es más que simplemente mantener la ley, implica seguir un conjunto de principios que son moralmente correctos.
El Instituto de Ingenieros Eléctricos y Electrónicos (IEEE) con la ACM produjo un código de ética y práctica profesional.